package com.zkw.algorithm.arraysdemo;

import java.util.Arrays;

/**
 * Created by Administrator on 2016/6/6 0006.
 */
public class ArraysDemo {
    int[] arr1,arr2;
    int arr3[],arr4;
    int []arr5,arr6;

    /**
     * []的位置不同含义也不同
     */
    private void initializing(){
        arr1=new int[2];
        arr2=new int[2];
        arr3=new int[3];
        arr4=1;
        arr5=new int[2];
        arr6=new int[3];
    }

    /**
     * 数组循环性能
     * 数组递减性能比数组递增性能好
     */
    private static void loopPerformance(){
        long start=System.currentTimeMillis();
        int[] arr=new int[10000000];
        for (int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println(System.currentTimeMillis()-start);

        long start2=System.currentTimeMillis();
        for (int i=arr.length;i>=0;i--){

        }
        System.out.println(System.currentTimeMillis()-start2);
    }

    /**
     * 数组作为方法参数传入的是引用，所以在方法内对数组的改变就是改变的数组内容
     * @param arr
     */
    private static void methodParam(int[] arr){
        for (int i:arr){
            System.out.println(i);
        }
        arr[0]=0;
    }

    /**
     * 扩充数组为原来的2倍
     * @param original
     * @return
     */
    private int[] doubleArray(int original[]){
        int length=original.length;
        int newArray[]=new int[length*2];
        System.arraycopy(original,0,newArray,0,length);
        return newArray;
    }

    /**
     * 数组本身复制
     */
    private static void copySame(){
        int[] arr={1,3,4};
        System.arraycopy(arr,0,arr,2,1);
        for (int i: arr){
            System.out.println(i);
        }
    }

    /**
     * 克隆一个数组
     * @param original
     * @return
     */
    private static int[] cloneArray(int original[]){
        return (int[]) original.clone();
    }

    /**
     * final修饰数组，不可以改变引用，可以改变引用的值
     */
    private void immutablility(){
        final int arr[] ={1,2,4};
        arr[0]=8;
    }

    /**
     * 判断数组相等
     */
    private static void arrayEquaily(){
        String arr[] ={"1","2","4"};
        String[] clone=(String[]) arr.clone();
        System.out.println(Arrays.equals(arr,clone));
    }
    public static void main (String args[]) {
        arrayEquaily();
    }
}
